package com.wish.banking.entity.vo;

import com.wish.banking.entity.CwPaymentPlan;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @ClassName:
 * @Description:
 * @Author:caojialin
 * @Date:2022/4/7 09:45
 */
@Data
public class SfContractVO {

    private Long id;// 合同ID
    private String sfContractNo;// 合同编号（系统生成）
    private String signUserName;// 签约人
    private String signUserMobile;// 签约人电话

    private Long premisesId;// 楼盘ID
    private String premiseName;// 小区名称

    // 承租房间
    private String rentRoom;
    private String houseId;// 房产ID
    private String houseName;// 房产信息

    // 业主信息
    private Long ownerId;// 业主ID
    private String ownerName;// 业主姓名
    private String ownerMobile;// 业主手机号

    // 付款账期
    List<CwPaymentPlan> paymentList;
    // 付款类型（1:收房付款单 2：租务付款单 3：解约结算收款）
    private Integer payType;
    // 付款单号
    private String payOrderNo;
    // 付款状态（1、未付款；2、已付款。3、已中止）
    private Integer payState;
    // 账单类型（金融属性）(1：收房贷变更,2：退租变更,3：普通账单(正常收房租务计划))
    private Integer billType;
//    // 款项信息
//    private List<RequestItemTypeListDto> itemTypeList;
    // 预定付款日期
    private Date payableDate;
    // 支付方式(1:快捷同，2：支付宝，3：微信，4：现金，5：银行卡转账，6：POS机刷卡，99：其它)
    private Integer payMethod;
    // 支付流水号
    private String payFlowNo;
    // 租金
    private BigDecimal rentalPrice;
    // 备注
    private String remark;

    // 解约协议ID
    private String terminationId;

    // 外部合同编号（线下合同编号）
    private String outContractNo;

    // 上一合同ID，续约合同的时候
    private Long lastContractId;

    // 上一合同编号
    private String lastContractNo;
    // 商户ID
    private Long businessId;

    // 部门ID
    private Long deptId;

    // 部门编号
    private String deptNo;

    // 所有权类型(1：国有房产，2：直管房产，3：自管房产，4：军队房产，5：集体所有房产，6：私有(自由)房产，7：港、澳、台投资房产，8：涉外房产，9：其它房产)
    private Integer houseType;

    // 房产证书编号
    private String houseZsNo;

    // 产权地址
    private String cqAddress;

    // 是否为签约人（业主是否为签约人） 0：是，1：否
    private Boolean signWithOwner;

    // 业主证件号码（身份证）
    private String ownerIdCard;

    // 业主联系地址
    private String ownerContactAddress;

    // 签约人证件号（身份证）
    private String signUserIdCard;

    // 紧急联系电话
    private String signUserEmergencyPhone;

    // 银行卡号
    private String bankCard;

    // 持卡人姓名
    private String bankUserName;

    // 持卡人身份证
    private String bankUserIdCard;

    // 开户行
    private String bankOpen;
    /*******************5个新加字段start*********************/
    /**
     * 银行账户类型（对公账户、对私账户）AccountTypeEnum
     */
    private Long accountType;

    /**
     * 银行卡号
     */
    private String bankCardNumber;

    /**
     * 账户名称（对公为企业名称，对私为姓名）
     */
    private String accountName;

    /**
     * 联行行号（手输，对公必须）
     */
    private String bankBranchCodeLh;

    /**
     * 开户行所在省ID
     */
    private Integer bankAccountProvince;
    /*******************新加字段end*********************/
    // 租约期限开始时间
    private Date leaseStartTime;

    // 租约期限结束时间
    private Date leaseEndTime;

    // 收房月租金
    private BigDecimal monthRent;

    // 房产押金
    private BigDecimal depositMoney;

    // 支付方式(押X付Y的X)
    private Integer depositType;

    // 支付方式(押X付Y的Y）
    private Integer paymentType;

    // 合同签订时间，（暂定设置为提交日期）
    private Date conSignTime;

    // 合同录入时间，（暂定设置为提交日期）
    private Date conInfoTime;

    // 合同审核时间，（暂定设置为提交日期）
    private Date conAudTime;

    // 合同录入人（暂定设置为创建人）
    private Long operId;

    // 收房人，（暂定设置为创建人）
    private Long sfUserId;

    // 收房人姓名
    private String sfUserName;

    // 合同状态（1，草稿。2，已提交。3，已解约。4，已结束。9:作废）
    private Integer status;

    // 续约状态（0，未续约。1，已续约）
    private Boolean xyStatus;

    //应退租金
    private BigDecimal altogetherRent;

}
